package com.zg.autoform.service;

import com.zg.autoform.dto.ImportFieldConfig;
import com.zg.common.core.dao.autoform.DiyImportFieldConfig;

import java.util.List;

/**
 * 导入字段配置服务接口
 * @author zg
 */
public interface ImportFieldConfigService {

    /**
     * 根据模板ID获取字段配置列表
     * @param templateId 模板ID
     * @return 字段配置列表
     */
    List<DiyImportFieldConfig> getFieldConfigsByTemplateId(Long templateId);

    /**
     * 根据模板ID获取字段配置列表（转换为DTO）
     * @param templateId 模板ID
     * @return 字段配置DTO列表
     */
    List<ImportFieldConfig> getFieldConfigDtosByTemplateId(Long templateId);

    /**
     * 保存字段配置列表
     * @param templateId 模板ID
     * @param fieldConfigs 字段配置列表
     */
    void saveFieldConfigs(Long templateId, List<ImportFieldConfig> fieldConfigs);

    /**
     * 删除模板的所有字段配置
     * @param templateId 模板ID
     */
    void deleteFieldConfigsByTemplateId(Long templateId);

    /**
     * 复制字段配置到新模板
     * @param sourceTemplateId 源模板ID
     * @param targetTemplateId 目标模板ID
     */
    void copyFieldConfigs(Long sourceTemplateId, Long targetTemplateId);
}
